/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package control;

import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.bean.SessionScoped;
import modelos.Disciplina;
import modelos.DisciplinaDAO;
import modelos.ExeMultiplaEscolha;
import modelos.ExeMultiplaEscolhaDAO;
import modelos.ExercicioDAO;

/**
 *
 * @author Marcelo
 */
@ManagedBean
@SessionScoped
public class CadastroExercicioControle {

    private ExeMultiplaEscolha novoExercicio;
    private List<String> listaAlternativas;
    private List<Disciplina> listaDisciplinas;
    private String disciplinaSelecionada;
    private String msgControle = "";
    

    public CadastroExercicioControle(){
        novoExercicio = new ExeMultiplaEscolha();
        listaAlternativas = new ArrayList<String>();
        listaAlternativas.add("");
        listaAlternativas.add("");
        disciplinaSelecionada = "";
    }

    public String adicionaAlternativa(){
        listaAlternativas.add("");
        return "cadastroExercicio";
    }

    public String salvaExercicio(){
        msgControle = "Salvo com Sucesso!";

        //Verifica se não existem alternativas vazias
        int tamanho = listaAlternativas.size();
        for(int indice = 0 ; indice < tamanho; indice++)
        {
            if(listaAlternativas.get(indice).isEmpty())
            {
                listaAlternativas.remove(indice);
                tamanho--;
                indice--;
            }
        }
        novoExercicio.setAlternativas(listaAlternativas);
        //Pega a disciplina escolhida
        Disciplina disc = null;
        for(int i=0; i<listaDisciplinas.size(); i++)
        {
            if(listaDisciplinas.get(i).getNome().equalsIgnoreCase(disciplinaSelecionada))
                disc = listaDisciplinas.get(i);
        }
        System.out.println("Disc" + disc.getNome());
        //Salva usando o DAO
        ExeMultiplaEscolhaDAO eDAO = new ExeMultiplaEscolhaDAO();
        eDAO.salvarExeMultiplaEscolha(novoExercicio, disc);
        
        novoExercicio = new ExeMultiplaEscolha();
        listaAlternativas = new ArrayList<String>();
        listaAlternativas.add("");
        listaAlternativas.add("");
        disciplinaSelecionada = "";

        return "cadastroExercicio";
    }

    public List<String> getListaAlternativas() {
        return listaAlternativas;
    }

    public void setListaAlternativas(List<String> listaAlternativas) {
        this.listaAlternativas = listaAlternativas;
    }

    public ExeMultiplaEscolha getNovoExercicio() {
        return novoExercicio;
    }

    public void setNovoExercicio(ExeMultiplaEscolha novoExercicio) {
        this.novoExercicio = novoExercicio;
    }

    public List<Disciplina> getListaDisciplinas() {
        DisciplinaDAO dDAO = new DisciplinaDAO();
        listaDisciplinas = dDAO.buscaTodasDisciplinas();
        return listaDisciplinas;
    }

    public void setListaDisciplinas(List<Disciplina> listaDisciplinas) {
        this.listaDisciplinas = listaDisciplinas;
    }

    public String getDisciplinaSelecionada() {
        return disciplinaSelecionada;
    }

    public void setDisciplinaSelecionada(String disciplinaSelecionada) {
        this.disciplinaSelecionada = disciplinaSelecionada;
    }

    public String getMsgControle() {
        return msgControle;
    }

    public void setMsgControle(String msgControle) {
        this.msgControle = msgControle;
    }

    

}
